home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / syntax / eterm.vim < prev    next >
Encoding:
Text File  |  2001-07-28  |  9.8 KB  |  197 lines

  1. "  vim: set sw=4 sts=4:
  2. "  Maintainer    : Nikolai 'pcp' Weibull <da.box@home.se>
  3. "  Revised on    : Tue, 24 Jul 2001 18:54:53 CEST
  4. "  Language    : Eterm configuration file
  5.  
  6. if version < 600
  7.     syntax clear
  8. elseif exists("b:current_syntax")
  9.     finish
  10. endif
  11.  
  12. " magic number
  13. syn match   etermMagic        display "^<Eterm-[0-9.]\+>$"
  14.  
  15. " comments
  16. syn region  etermComment    matchgroup=etermComment start="^#" end="$" contains=etermTodo
  17.  
  18. " todo
  19. syn keyword etermTodo        contained TODO
  20.  
  21. " numbers
  22. syn match   etermNumber        contained display "\<\(\d\+\|0x\x\{1,2}\)\>"
  23.  
  24. " strings
  25. syn region  etermString        contained display oneline start=+"+ skip=+\\"+ end=+"+
  26.  
  27. " booleans
  28. syn match   etermBoolean    contained display "\<\(on\|off\|false\|true\|yes\|no\)\>"
  29.  
  30. " colors (not pretty, but can't figure out better way...)
  31. syn match   etermColor        contained display "\s\+#\x\{6}\>"
  32. syn keyword etermColor        contained white black
  33.  
  34. " preproc
  35. syn match   etermPreProc    contained "%\(appname\|exec\|get\|put\|random\|version\|include\|preproc\)("he=e-1
  36.  
  37. " functions
  38. syn match   etermFunctions    contained "\<\(copy\|exit\|kill\|nop\|paste\|save\|scroll\|search\|spawn\)("
  39.  
  40. " and make it easy to refer to the above...
  41. syn cluster etermGeneral    contains=etermComment,etermNumber,etermString,etermBoolean,etermColor,etermFunction,etermPreProc
  42.  
  43. " key modifiers
  44. syn keyword etermKeyMod        contained ctrl shift lock mod1 mod2 mod3 mod4 mod5 alt meta anymod
  45. syn keyword etermKeyMod        contained button1 button2 button3 button4 button5
  46.  
  47. " color context
  48. syn region  etermColorOptions    contained oneline matchgroup=etermOption start="^\s*video\>" matchgroup=etermType end="\<\(normal\|reverse\)\>"
  49. syn region  etermColorOptions    contained oneline matchgroup=etermOption start="^\s*color\>" matchgroup=etermType end="\<\(bd\|ul\|[0-9]\|1[0-5]\)\>"
  50. syn keyword etermColorOptions    contained foreground background cursor cursor_text pointer
  51.  
  52. syn region  etermColorContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+color\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermColorOptions
  53.  
  54. " attributes context
  55. syn region  etermAttrOptions    contained oneline matchgroup=etermOption start="^\s*geometry\>" matchgroup=etermType end="\<\d\+x\d\++\d\++\d\+\>"
  56. syn region  etermAttrOptions    contained oneline matchgroup=etermOption start="^\s*scrollbar_type\>" matchgroup=etermType end="\<\(motif\|xterm\|next\)\>"
  57. syn region  etermAttrOptions    contained oneline matchgroup=etermOption start="^\s*font\>" matchgroup=etermType end="\<\(bold\|default\|proportional\|fx\|[0-5]\)\>"
  58. syn keyword etermAttrOptions    contained title name iconname desktop scrollbar_width
  59.  
  60. syn region  etermAttrContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+attributes\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermAttrOptions
  61.  
  62. " image context
  63. " image types
  64. syn keyword etermImageTypes    contained background trough anchor up_arrow
  65. syn keyword etermImageTypes    contained left_arrow right_arrow menu menuitem
  66. syn keyword etermImageTypes    contained submenu button buttonbar down_arrow
  67. syn region  etermImageOptions    contained transparent oneline matchgroup=etermOption start="^\s*type\>" end="$" contains=etermImageTypes
  68. " image modes
  69. syn keyword etermImageModes    contained image trans viewport auto solid
  70. syn keyword etermImageModesAllow contained allow
  71. syn region  etermImageOptions    contained transparent oneline matchgroup=etermOption start="^\s*mode\>" end="$" contains=etermImageModes,etermImageModesAllow
  72. " image states
  73. syn region  etermImageOptions    contained transparent oneline matchgroup=etermOption start="^\s*state\>" matchgroup=etermType end="\<\(normal\|selected\|clicked\|disabled\)\>"
  74. " image geometry
  75. syn region  etermImageOptions    contained transparent oneline matchgroup=etermOption start="^\s*geom\>" matchgroup=etermType end="\s\+\(\d\+x\d\++\d\++\d\+\)\=:\(\(tile\|scale\|hscale\|vscale\|propscale\)d\=\)\="
  76. " image color modification
  77. syn region  etermImageOptions    contained transparent oneline matchgroup=etermOption start="^\s*\(cmod\|colormod\)\>" matchgroup=etermType end="\<\(image\|red\|green\|blue\)\>"
  78. " other keywords
  79. syn keyword etermImageOptions    contained file padding border bevel color
  80.  
  81. syn region  etermImageContext    contained transparent fold matchgroup=etermContext start="^\s*begin\s\+image\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermImageOptions
  82.  
  83. " imageclasses context
  84. syn keyword etermIClassOptions    contained icon cache path anim
  85.  
  86. syn region  etermIClassContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+imageclasses\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermImageContext,etermIClassOptions
  87.  
  88. " menuitem context
  89. syn region  etermMenuItemOptions contained transparent oneline matchgroup=etermOption start="^\s*action\>" matchgroup=etermType end="\<string\|echo\|submenu\|script\|separator\>"
  90. syn keyword etermMenuItemOptions contained text rtext
  91.  
  92. syn region  etermMenuItemContext fold transparent matchgroup=etermContext start="^\s*begin\s\+menuitem\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMenuItemOptions
  93.  
  94. " menu context (should contain - as well, but no...)
  95. syn keyword etermMenuOptions    contained title font_name sep
  96.  
  97. syn region  etermMenuContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+menu\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMenuOptions,etermMenuItemContext
  98.  
  99. " action context
  100. syn match   etermActionDef    contained "\<\(to\|string\|echo\|menu\|script\)\>"
  101. syn region  etermActionsOptions    contained transparent oneline matchgroup=etermOption start="^\s*bind\>" end="$" contains=etermActionDef,etermKeyMod
  102.  
  103. syn region  etermActionsContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+actions\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermActionsOptions
  104.  
  105. " button bar context
  106. syn match   etermButtonDef    contained "\<\(action\|string\|echo\|menu\|scrupt\)\>"
  107. syn region  etermButtonOptions    contained transparent oneline matchgroup=etermOption start="^\s*button\>" end="$" contains=etermButtonDef
  108. syn keyword etermButtonOptions    contained font visible dock
  109.  
  110. syn region  etermButtonContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+button_bar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermButtonOptions
  111.  
  112. " multichar context
  113. syn keyword etermMultiOptions    contained encoding font
  114.  
  115. syn region  etermMultiContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+multichar\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMultiOptions
  116.  
  117. " xim context
  118. syn keyword etermXimOptions     contained input_method preedit_type
  119.  
  120. syn region  etermXimContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+xim\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermXimOptions
  121.  
  122. " toggles context
  123. syn keyword etermTogOptions    contained map_alert visual_bell login_shell scrollbar utmp_logging meta8 iconic no_input
  124. syn keyword etermTogOptions    contained home_on_output home_on_input scrollbar_floating scrollbar_right scrollbar_popup
  125. syn keyword etermTogOptions    contained borderless double_buffer no_cursor pause xterm_select select_line
  126. syn keyword etermTogOptions    contained select_trailing_spaces report_as_keysyms itrans immotile_trans buttonbar
  127. syn keyword etermTogOptions    contained resize_gravity
  128.  
  129. syn region  etermTogContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+toggles\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermTogOptions
  130.  
  131. " keyboard context
  132. syn keyword etermKeyboardOptions contained smallfont_key bigfont_key keysym meta_mod alt_mod
  133. syn keyword etermKeyboardOptions contained greek numlock_mod app_keypad app_cursor
  134.  
  135. syn region  etermKeyboardContext fold transparent  matchgroup=etermContext start="^\s*begin\s\+keyboard\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermKeyboardOptions
  136.  
  137. " misc context
  138. syn keyword etermMiscOptions    contained print_pipe save_lines cut_chars min_anchor_size
  139. syn keyword etermMiscOptions    contained border_width line_space finished_title term_name
  140. syn keyword etermMiscOptions    contained finished_text exec
  141.  
  142. syn region  etermMiscContext    fold transparent  matchgroup=etermContext start="^\s*begin\s\+misc\s*$" end="^\s*end\>\(\s\+.\{-0,}\)\=$" contains=@etermGeneral,etermMiscOptions
  143.  
  144. if exists("eterm_minlines")
  145.     let b:eterm_minlines = eterm_minlines
  146. else
  147.     let b:eterm_minlines = 30
  148. endif
  149. exec "syn sync minlines=" . b:eterm_minlines
  150.  
  151. " Define the default highlighting.
  152. " For version 5.7 and earlier: only when not done already
  153. " For version 5.8 and later: only when an item doesn't have highlighting yet
  154. if version >= 508 || !exists("did_eterm_syn_inits")
  155.     if version < 508
  156.     let did_eterm_syn_inits = 1
  157.     command -nargs=+ HiLink hi link <args>
  158.     else
  159.     command -nargs=+ HiLink hi def link <args>
  160.     endif
  161.  
  162.     HiLink etermMagic        Special
  163.     HiLink etermComment        Comment
  164.     HiLink etermTodo        Todo
  165.     HiLink etermNumber        Number
  166.     HiLink etermString        String
  167.     HiLink etermBoolean        Boolean
  168.     HiLink etermColor        Number
  169.     HiLink etermPreProc        PreProc
  170.     HiLink etermFunctions    Function
  171.     HiLink etermKeyMod        Special
  172.     HiLink etermContext        Keyword
  173.     HiLink etermOption        Keyword
  174.     HiLink etermType        Type
  175.     HiLink etermColorOptions    Keyword
  176.     HiLink etermAttrOptions    Keyword
  177.     HiLink etermIClassOptions    Keyword
  178.     HiLink etermImageTypes    Type
  179.     HiLink etermImageModes    Type
  180.     HiLink etermImageModesAllow    Keyword
  181.     HiLink etermImageOptions    Keyword
  182.     HiLink etermMenuOptions    Keyword
  183.     HiLink etermMenuItemOptions    Keyword
  184.     HiLink etermActionDef    Type
  185.     HiLink etermActionsOptions    Keyword
  186.     HiLink etermButtonDef    Type
  187.     HiLink etermButtonOptions    Keyword
  188.     HiLink etermMultiOptions    Keyword
  189.     HiLink etermXimOptions    Keyword
  190.     HiLink etermTogOptions    Keyword
  191.     HiLink etermKeyboardOptions    Keyword
  192.     HiLink etermMiscOptions    Keyword
  193.     delcommand HiLink
  194. endif
  195.  
  196. let b:current_syntax = "eterm"
  197.